Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)

Q is empty.


QTRS
  ↳ DirectTerminationProof

Q restricted rewrite system:
The TRS R consists of the following rules:

ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)

Q is empty.

We use [23] with the following order to prove termination.

Recursive path order with status [2].
Quasi-Precedence:
[ackin2, u212] > ackout1 > [0, s1, u111, u221]

Status:
ackin2: [1,2]
u221: multiset
u212: [2,1]
s1: [1]
0: multiset
u111: multiset
ackout1: [1]